<?php

    $mikron->Page->StartBody();
    
    if(!$mikron->Users->Logged())
    {
        incorrect_record_form();
    }
    
    $data = $_POST;
    if(array_key_exists('speciality_id', $data) && array_key_exists('lpu_guid', $data) && array_key_exists('cardfile', $data) && array_key_exists('tickets', $data))
    {
        $dataObject = new DataObject('record');
        $dataObject->SetGuid('lpu_guid', htmlspecialchars($data['lpu_guid']));
        $dataObject->SetGuid('cardfile', htmlspecialchars($data['cardfile']));
        $dataObject->SetString('logininfoid', $mikron->Users->CurrentUser()->user->logininfoid->value);

        $tickets = Array();
        foreach($data['tickets'] as $ticket_id)
        {
            $ticket = new DataObject('ticket');
            $ticket->SetGuid('id', htmlspecialchars($ticket_id));
            $tickets[] = $ticket;
        }
        $dataObject->SetList('tickets', $tickets);
        $responce = $mikron->Site->Soap->Call($data['lpu_guid'], $dataObject);
        if($responce instanceof MikronException)
        {
            echo '<h1>Извините</h1>', $responce->getMessage();
            $uri = sprintf('/record/?lpu=%s&specid=%s&cardfile=%s', $data['lpu_guid'], $data['speciality_id'], $data['cardfile']);
            echo sprintf('<br /><a href="%s" title="Вернуться на страницу назад">Вернуться назад.</a>', $uri);
        }
        else
        {
            ?>
            <h1>Запись произведена успешно.</h1>
            <a href="/schedule/" title="Переход на общую страницу с раписаниями">Вернуться к просмотру расписания</a>
            <br /><a href="/cabinet/?mainpage=entries" title="Переход на общую страницу с записями">Посмотреть все мои записи</a>
            <?php
        }
    }
    else
    {
        incorrect_record_form();
    }

    $mikron->Page->EndBody();
    
    function incorrect_record_form()
    {
        global $mikron;
        $mikron->Tools->GoToPage('/schedule/');
    }

?>